<!DOCTYPE html>
<!-- saved from url=(0043)https://www.cnblogs.com/wlzy/p/7751297.html -->
<html lang="zh-cn"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="referrer" content="never">
    <meta property="og:description" content="一、反向传播的由来 在我们开始DL的研究之前，需要把ANN—人工神经元网络以及bp算法做一个简单解释。关于ANN的结构，我不再多说，网上有大量的学习资料，主要就是搞清一些名词：输入层/输入神经元，输出">
    <meta http-equiv="Cache-Control" content="no-transform">
    <meta http-equiv="Cache-Control" content="no-siteapp">
    <title>反向传播算法（过程及公式推导） - ZYVV - 博客园</title>
    
    <link rel="shortcut icon" href="https://common.cnblogs.com/favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/blog-common.min.css">
    <link id="MainCss" rel="stylesheet" href="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/bundle-codinglife.min.css">
    
    <link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet" href="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/bundle-codinglife-mobile.min.css">
    
    <link type="application/rss+xml" rel="alternate" href="https://www.cnblogs.com/wlzy/rss">
    <link type="application/rsd+xml" rel="EditURI" href="https://www.cnblogs.com/wlzy/rsd.xml">
    <link type="application/wlwmanifest+xml" rel="wlwmanifest" href="https://www.cnblogs.com/wlzy/wlwmanifest.xml">
    <script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/f.txt"></script><script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/pubads_impl_rendering_2019080801.js"></script><script async="" src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/analytics.js"></script><script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/jquery-2.2.0.min.js"></script>
    <script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/blog-common.min.js"></script>
    <script>
        var currentBlogId = 307187;
        var currentBlogApp = 'wlzy';
        var cb_enable_mathjax = true;
        var isLogined = false;
    </script>
    <script type="text/x-mathjax-config;executed=true">
        MathJax.Hub.Config({
        tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], processClass: 'math', processEscapes: true },
        TeX: {
        equationNumbers: { autoNumber: ['AMS'], useLabelIds: true },
        extensions: ['extpfeil.js', 'mediawiki-texvc.js'],
        Macros: {bm: "\\boldsymbol"}
        },
        'HTML-CSS': { linebreaks: { automatic: true } },
        SVG: { linebreaks: { automatic: true } }
        });
    </script>
    <script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/MathJax.js"></script>
    
<link rel="preload" href="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/f(1).txt" as="script"><script type="text/javascript" src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/f(1).txt"></script><script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/pubads_impl_2019080801.js" async=""></script><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_About.MathJax_MousePost {outline: none}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 1px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: .7em}
.MathJax_MenuRadioCheck.RTL {right: .7em; left: auto}
.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: #606872; color: white}
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
.MathJax_ContextMenu:focus {outline: none}
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
#MathJax_AboutClose {top: .2em; right: .2em}
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_MenuClose:hover span {background-color: #CCC!important}
.MathJax_MenuClose:hover:focus {outline: none}
</style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important}
</style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><link rel="prefetch" href="https://tpc.googlesyndication.com/safeframe/1-0-35/html/container.html"><style type="text/css">.MJXp-script {font-size: .8em}
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
.MJXp-bold {font-weight: bold}
.MJXp-italic {font-style: italic}
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-largeop {font-size: 150%}
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
.MJXp-display {display: block; text-align: center; margin: 1em 0}
.MJXp-math span {display: inline-block}
.MJXp-box {display: block!important; text-align: center}
.MJXp-box:after {content: " "}
.MJXp-rule {display: block!important; margin-top: .1em}
.MJXp-char {display: block!important}
.MJXp-mo {margin: 0 .15em}
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
.MJXp-denom {display: inline-table!important; width: 100%}
.MJXp-denom > * {display: table-row!important}
.MJXp-surd {vertical-align: top}
.MJXp-surd > * {display: block!important}
.MJXp-script-box > *  {display: table!important; height: 50%}
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
.MJXp-script-box > * > * > * {display: block!important}
.MJXp-mphantom {visibility: hidden}
.MJXp-munderover, .MJXp-munder {display: inline-table!important}
.MJXp-over {display: inline-block!important; text-align: center}
.MJXp-over > * {display: block!important}
.MJXp-munderover > *, .MJXp-munder > * {display: table-row!important}
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
.MJXp-mtr {display: table-row!important}
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-mlabeledtr {display: table-row!important}
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
.MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style></head>
<body><div id="MathJax_Message" style="display: none;"></div>
    <a name="top"></a>
    
    
<!--done-->
<div id="home">
<div id="header">
	<div id="blogTitle">
        <a id="lnkBlogLogo" href="https://www.cnblogs.com/wlzy/"><img id="blogLogo" src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/logo.gif" alt="返回主页"></a>		
		
<!--done-->
<h1>
<a id="Header1_HeaderTitle" class="headermaintitle" href="https://www.cnblogs.com/wlzy/">ZYVV</a>
</h1>
<h2>

</h2>




		
	</div><!--end: blogTitle 博客的标题和副标题 -->
	<div id="navigator">
		
<ul id="navList">
<li><a id="blog_nav_sitehome" class="menu" href="https://www.cnblogs.com/">
博客园</a>
</li>
<li>
<a id="blog_nav_myhome" class="menu" href="https://www.cnblogs.com/wlzy/">
首页</a>
</li>
<li>

<a id="blog_nav_newpost" class="menu" href="https://i.cnblogs.com/EditPosts.aspx?opt=1">
新随笔</a>
</li>
<li>
<a id="blog_nav_contact" class="menu" href="https://msg.cnblogs.com/send/ZYVV">
联系</a></li>
<li>
<a id="blog_nav_rss" class="menu" href="https://www.cnblogs.com/wlzy/rss/">
订阅</a>
<!--<partial name="./Shared/_XmlLink.cshtml" model="Model" /></li>--></li>
<li>
<a id="blog_nav_admin" class="menu" href="https://i.cnblogs.com/">
管理</a>
</li>
</ul>


		<div class="blogStats">
			
			<span id="stats_post_count">随笔 - 
304&nbsp; </span>
<span id="stats_article_count">文章 - 
0&nbsp; </span>
<span id="stats-comment_count">评论 - 
8</span>

			
		</div><!--end: blogStats -->
	</div><!--end: navigator 博客导航栏 -->
</div><!--end: header 头部 -->

<div id="main">
	<div id="mainContent">
	<div class="forFlow">
		<div id="post_detail">
    <!--done-->
    <div id="topics">
        <div class="post">
            <h1 class="postTitle">
                
<a id="cb_post_title_url" class="postTitle2" href="https://www.cnblogs.com/wlzy/p/7751297.html">反向传播算法（过程及公式推导）</a>

            </h1>
            <div class="clear"></div>
            <div class="postBody">
                
<div id="cnblogs_post_body" class="blogpost-body ">
    <h2><span style="font-size: 18pt;">一、反向传播的由来</span></h2>
<p>在我们开始DL的研究之前，需要把ANN—人工神经元网络以及bp算法做一个简单解释。<br>关于ANN的结构，我不再多说，网上有大量的学习资料，主要就是搞清一些名词：<br>输入层/输入神经元，输出层/输出神经元，隐层/隐层神经元，权值，偏置，激活函数<br><br>接下来我们需要知道ANN是怎么训练的，假设ANN网络已经搭建好了，在所有应用问题中（不管是网络结构，训练手段如何变化）我们的目标是不会变的，那就是网络的权值和偏置最终都变成一个最好的值，这个值可以让我们由输入可以得到理想的输出，于是问题就变成了y=f(x，w，b)（x是输入，w是权值，b为偏置，所有这些量都可以有多个，比如多个x1，x2，x3……最后f()就好比我们的网络它一定可以用一个函数来表示，我们不需要知道f(x)具体是怎样的函数，从小我们就认为只要是函数就一定要是可表示的，像f(x)=sin(x)一样，但是请摈弃这样的错误观念，我们只需要知道一系列的w和b决定了一个函数f（x），这个函数让我们由输入可以计算出合理的y）<br><br>最后的目标就变成了尝试不同的w，b值，使得最后的y=f（x）无限接近我们希望得到的值t<br><br>但是这个问题依然很复杂，我们把它简化一下，让（y-t）^2的值尽可能的小。于是原先的问题化为了C（w，b）=（f（x，w，b）-t）^2取到一个尽可能小的值。这个问题不是一个困难的问题，不论函数如何复杂，如果C降低到了一个无法再降低的值，那么就取到了最小值（假设我们不考虑局部最小的情况）</p>
<p>如何下降？数学告诉我们对于一个多变量的函数f(a,b,c,d,……)而言，我们可以求得一个向量，它称作该函数的梯度，要注意的是，梯度是一个方向向量，它表示这个函数在该点变化率最大的方向（这个定理不详细解释了，可以在高等数学教材上找到）于是C（w，b）的变化量ΔC就可以表示成<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105213621530" alt=""></p>
<p>其中</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105213727954" alt="">是该点上的微小变化，我们可以随意指定这些微小变化，只需要保证ΔC&lt;0就可以了，但是为了更快的下降，我们为何不选在梯度方向上做变化呢？</p>
<p>事实上，梯度下降的思想就是这样考虑的，我们使得<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105213941569" alt="">从而保证C一直递减，而对于w来说只要每次更新<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105214116522" alt="">即可。<br><br>ok，到这里，似乎所有的问题都解决了，让我们重新整理一下思绪，我们将问题转化了很多步：<br>网络权值偏置更新问题 ==&gt; f（x，w，b）的结果逼近t ==&gt; C（w，b）=（f（x，w，b）-t）^2取极小值问题 ==&gt; C（w，b）按梯度下降问题 ==&gt;取到极小值，网络达到最优<br><br>千万别忘了一点！！推导基于一个前提：我们已经提前知道了当前点的梯度。然而事实并非如此！！<br>这个问题困扰了NN研究者多年，1969年M.Minsky和S.Papert所著的《感知机》一书出版，它对单层神经网络进行了深入分析，并且从数学上证明了这种网络功能有限，甚至不能解决象"异或"这样的简单逻辑运算问题。同时，他们还发现有许多模式是不能用单层网络训练的，而对于多层网络则没有行之有效的低复杂度算法，最后他们甚至认为神经元网络无法处理非线性问题。然而于1974年，Paul Werbos首次给出了如何训练一般网络的学习算法—back propagation。这个算法可以高效的计算每一次迭代过程中的梯度，让以上我们的推导得以实现！！<br>不巧的是，在当时整个人工神经网络社群中无人知晓Paul所提出的学习算法。直到80年代中期，BP算法才重新被David Rumelhart、Geoffrey Hinton及Ronald Williams、David Parker和Yann LeCun独立发现，并获得了广泛的注意，引起了人工神经网络领域研究的第二次热潮。</p>
<p>&nbsp;</p>
<h2><span style="font-size: 18pt;"><a name="t1"></a>二、原理的引入</span></h2>
<p>
上面已经提到，所谓反向传播，就是计算梯度的方法。对于反向传播，先不急着介绍它的原理，很多文章直接引入公式，反而使得我们很难去理解。这里先引入知乎上某位大神的回答。</p>
<p>&nbsp;</p>
<p>来源：知乎<a href="https://www.zhihu.com/question/27239198?rf=24827633" target="_blank">https://www.zhihu.com/question/27239198?rf=24827633</a></p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105194353473" alt=""></p>
<p>假设输入a=2，b=1，在这种情况下，我们很容易求出相邻节点之间的偏导关系</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105194500114" alt=""></p>
<p>利用链式法则：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation" alt="\frac{\partial e}{\partial a}=\frac{\partial e}{\partial c}\cdot \frac{\partial c}{\partial a}">以及<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation(1)" alt="\frac{\partial e}{\partial b}=\frac{\partial e}{\partial c}\cdot \frac{\partial c}{\partial b}+\frac{\partial e}{\partial d}\cdot \frac{\partial d}{\partial b}"></p>
<p>&nbsp;</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation(2)" alt="\frac{\partial e}{\partial a}">的值等于从a到e的路径上的偏导值的乘积，而<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation(3)" alt="\frac{\partial e}{\partial b}">的值等于从b到e的路径1(b-c-e)上的偏导值的乘积加上路径2(b-d-e)上的偏导值的乘积。也就是说，对于上层节点p和下层节点q，要求得<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation(4)" alt="\frac{\partial p}{\partial q}">，需要找到从q节点到p节点的所有路径，并且对每条路径，求得该路径上的所有偏导数之乘积，然后将所有路径的 “乘积” 累加起来才能得到<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/equation(4)" alt="\frac{\partial p}{\partial q}">的值。</p>
<p>这种情况下偏导很容易求得，因为我们已经知道网络的函数关系式，e=（a+b）*（b+1），这是一个没有权值干预，已知输入与输出之间关系的网络。实际当中我们只是知道e与输出之间的关系，就是上面说的C=（y-t）^2，而且会有成千上万的权值和偏置干预求导的过程。那么换个思路，能不能求输出对结果的偏导呢？</p>
<p>再利用上图的关系。节点c对e偏导2并将结果堆放起来，节点d对e偏导3并将结果堆放起来，至此第二层完毕，求出各节点总堆放量并继续向下一层发送。节点c向a发送2*1并对堆放起来，节点c向b发送2*1并堆放起来，节点d向b发送3*1并堆放起来，至此第三层完毕，节点a堆放起来的量为2，节点b堆放起来的量为2*1+3*1=5, 即顶点e对b的偏导数为5。简要的概括，就是从最上层的节点e开始，以层为单位进行处理。对于e的下一层的所有子节点，将1乘以e到某个节点路径上的偏导值，并将结果“堆放”在该子节点中。等e所在的层按照这样传播完毕后，第二层的每一个节点都“堆放"些值，然后我们针对每个节点，把它里面所有“堆放”的值求和，就得到了顶点e对该节点的偏导。然后将这些第二层的节点各自作为起始顶点，初始值设为顶点e对它们的偏导值，以"层"为单位重复上述传播过程，即可求出顶点e对每一层节点的偏导数。</p>
<h2><span style="font-size: 18pt;"><a name="t2"></a>三、一个很好的例子</span></h2>
<div>现在，我们再把权值考虑进去，以下是一个很好的例子，有助于我们去理解反向传播</div>
<div>来源：Charlotte77的博客<a href="http://www.cnblogs.com/charlotte77/p/5629865.html" target="_blank">http://www.cnblogs.com/charlotte77/p/5629865.html</a></div>
<div>
<p>假设，你有这样一个网络层：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106112715527" alt=""></p>
<p>第一层是输入层，包含两个神经元i1，i2，和截距项b1；第二层是隐含层，包含两个神经元h1,h2和截距项b2，第三层是输出o1,o2，每条线上标的wi是层与层之间连接的权重，激活函数我们默认为sigmoid函数。</p>
<p>　　现在对他们赋上初值，如下图：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106112636229" alt=""></p>
<p>　　其中，输入数据 &nbsp;i1=0.05，i2=0.10;</p>
<p>　　　　　输出数据 o1=0.01,o2=0.99;</p>
<p>　　　　　初始权重 &nbsp;w1=0.15,w2=0.20,w3=0.25,w4=0.30;</p>
<p>　　　　　　　　　 &nbsp;w5=0.40,w6=0.45,w7=0.50,w8=0.88</p>
<p>&nbsp;</p>
<p>　　目标：给出输入数据i1,i2(0.05和0.10)，使输出尽可能与原始输出o1,o2(0.01和0.99)接近。</p>
<p>&nbsp;</p>
<p>　　Step 1 前向传播</p>
<p>　　1.输入层----&gt;隐含层：</p>
<p>　　计算神经元h1的输入加权和：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630142915359-294460310.png" alt="" width="366" height="82"></p>
<p>&nbsp;</p>
<p>神经元h1的输出o1:(此处用到激活函数为sigmoid函数)：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630150115390-1035378028.png" alt="" width="369" height="55"></p>
<p>&nbsp;</p>
<p>同理，可计算出神经元h2的输出o2：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630150244265-1128303244.png" alt="" width="334" height="32"></p>
<p>2.隐含层----&gt;输出层：</p>
<p>　　计算输出层神经元o1和o2的值：</p>
<p>　　<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630150517109-389457135.png" alt="" width="592" height="141"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630150638390-1210364296.png" alt="" width="355" height="48"></p>
<p>&nbsp;</p>
<p>这样前向传播的过程就结束了，我们得到输出值为[0.75136079 , 0.772928465]，与实际值[0.01 , 0.99]相差还很远，现在我们对误差进行反向传播，更新权值，重新计算输出。</p>
<p>&nbsp;Step 2 反向传播</p>
<p>1.计算总误差</p>
<p>总误差：(square error)</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630151201812-1014280864.png" alt="" width="313" height="66"></p>
<p>但是有两个输出，所以分别计算o1和o2的误差，总误差为两者之和：<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630151457593-1250510503.png" alt="" width="606" height="58"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630151508999-1967746600.png" alt="" width="516" height="50"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630151516093-1257166735.png" alt="" width="549" height="51"></p>
<p>&nbsp;</p>
<p>2.隐含层----&gt;输出层的权值更新：</p>
<p>以权重参数w5为例，如果我们想知道w5对整体误差产生了多少影响，可以用整体误差对w5求偏导求出：（链式法则）<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630151916796-1001638091.png" alt="" width="503" height="77"></p>
<p>下面的图可以更直观的看清楚误差是怎样反向传播的：</p>
<p>&nbsp;</p>
<div><img src="file:///C:/Users/maoxiaofeng/AppData/Roaming/Tencent/Users/249126495/QQ/WinTemp/RichOle/B~TJ8@KZ70ET92%60VNSX_)FK.png" alt=""></div>
<div><img src="file:///C:/Users/maoxiaofeng/AppData/Roaming/Tencent/Users/249126495/QQ/WinTemp/RichOle/B~TJ8@KZ70ET92%60VNSX_)FK.png" alt=""></div>


<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106112604072" alt=""><br>
<p>&nbsp;</p>
<p>现在我们来分别计算每个式子的值：</p>
<p>计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152206781-7976168.png" alt="" width="58" height="47">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152258437-1960839452.png" alt="" width="523" height="140"></p>
<p>计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152417109-711077078.png" alt="" width="64" height="53">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152511937-1667481051.png" alt="" width="523" height="85"></p>
<p>（这一步实际上就是对sigmoid函数求导，比较简单，可以自己推导一下）</p>
<p>&nbsp;</p>
<p>计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152625593-2083321635.png" alt="" width="58" height="50">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152658109-214239362.png" alt="" width="495" height="97"></p>
<p>最后三者相乘：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630152811640-888140287.png" alt="" width="535" height="88"></p>
<p>这样我们就计算出整体误差E(total)对w5的偏导值。</p>
<p>回过头来再看看上面的公式，我们发现：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153103187-515052589.png" alt="" width="459" height="52"></p>
<p>为了表达方便，用<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153202812-585186566.png" alt="" width="19" height="25">来表示输出层的误差：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153251234-1144531293.png" alt="" width="459" height="99"></p>
<p>因此，整体误差E(total)对w5的偏导公式可以写成：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153405296-436656179.png" alt="" width="461" height="60"></p>
<p>如果输出层误差计为负的话，也可以写成：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153514734-1544628024.png" alt="" width="461" height="68"></p>
<p>最后我们来更新w5的值：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153614374-1624035276.png" alt="" width="667" height="54"></p>
<p>（其中，<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153700093-743859667.png" alt="" width="13" height="26">是学习速率，这里我们取0.5）</p>
<p>同理，可更新w6,w7,w8:</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630153807624-1231975059.png" alt="" width="592" height="169"></p>
<p>&nbsp;</p>
<p>3.隐含层----&gt;隐含层的权值更新：</p>
<p>　方法其实与上面说的差不多，但是有个地方需要变一下，在上文计算总误差对w5的偏导时，是从out(o1)----&gt;net(o1)----&gt;w5,但是在隐含层之间的权值更新时，是out(h1)----&gt;net(h1)----&gt;w1,而out(h1)会接受E(o1)和E(o2)两个地方传来的误差，所以这个地方两个都要计算。</p>
<p>&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630154317562-311369571.png" alt="" width="485" height="400"></p>
<p>&nbsp;</p>
<p>计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630154712202-1906007645.png" alt="" width="53" height="39">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630154758531-934861299.png" alt="" width="547" height="51"></p>
<p>先计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630154958296-1922097086.png" alt="" width="62" height="51">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155015546-1106216279.png" alt="" width="340" height="48"></p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155036406-964647962.png" alt="" width="530" height="47"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155117656-1905928379.png" alt="" width="345" height="74"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155158468-157032005.png" alt="" width="527" height="51"></p>
<p>同理，计算出：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155310937-2103938446.png" alt="" width="201" height="42"></p>
<p>两者相加得到总值：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155435218-396769942.png" alt="" width="608" height="62"></p>
<p>再计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155555562-1422254830.png" alt="" width="62" height="43">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155628046-229505495.png" alt="" width="601" height="100"></p>
<p>再计算<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155731421-239852713.png" alt="" width="57" height="47">：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155706437-964861747.png" alt="" width="509" height="90"></p>
<p>最后，三者相乘：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630155827718-189457408.png" alt="" width="632" height="110"></p>
<p>&nbsp;为了简化公式，用sigma(h1)表示隐含层单元h1的误差：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630160345281-679307550.png" alt="" width="540" height="183"></p>
<p>最后，更新w1的权值：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630160523437-1906004593.png" alt="" width="567" height="48"></p>
<p>同理，额可更新w2,w3,w4的权值：</p>
<p><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/853467-20160630160603484-1471434475.png" alt="" width="517" height="141"></p>
<p>这样误差反向传播法就完成了，最后我们再把更新的权值重新计算，不停地迭代，在这个例子中第一次迭代之后，总误差E(total)由0.298371109下降至0.291027924。迭代10000次后，总误差为0.000035085，输出为[0.015912196,0.984065734](原输入为[0.01,0.99]),证明效果还是不错的</p>


</div>
<h2><span style="font-size: 18pt;"><a name="t3"></a>四、最一般的情况</span></h2>
<h2><a name="t4"></a><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202509000" alt="" width="320" height="240"></h2>
<div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;上图是一个三层人工神经网络，layer1至layer3分别是输入层、隐藏层和输出层。如图，先定义一些变量：</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106115101285" alt="">表示第l-1层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/4da87ad036fb45899be0c349b73069fe/k.jpg" alt="">k个神经元连接到第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/e79ae480133f4521a482575ba2d4afa6/l.jpg" alt="">l层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/6a968af39cb04649a2c0378900c93916/j.jpg" alt="">j个神经元的权重；</div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/84d1ef0c45e647b29b8835141d699c02/b.jpg" alt="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106115210841" alt="">表示第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/2b44dc0922f44587a33f903b2516f36d/l.jpg" alt="">l层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/7e99d481210f4b87a676a4d47109e3e6/j.jpg" alt="">j个神经元的偏置；</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/6d9107ddc032458f91d217e24157ea42/z0.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106115642237" alt="">表示第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/66e2f2e205854239916eb3bd90808b09/l.jpg" alt="">l层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/b43858e9c36d4999aaac8fd98b7a50bc/j.jpg" alt="">j个神经元的输入，即<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/134c42a37abf436b8fc48902a82e488f/z.jpg" alt="">：</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106120152901" alt=""></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/7e205c3d7f5641a3a1391041d0d0f2aa/a.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106115859193" alt="">表示第l<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/d9adf1527e9546749ad34f19a290737f/l.jpg" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/e42219c8cbd946dea93435cecf8da0bd/j.jpg" alt="">j个神经元的输出，即<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/71a5dce1f9b5492aa23280c527c453a6/a1.jpg" alt="">：</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106120310262" alt=""></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;其中<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106115344889" alt="">表示激活函数。</div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/1717c06043404cf987baaf125abeb22f/l-a.jpg" alt="">L表示神经网络的最大层数，也可以理解为输出层。</div>
<div>
<div>将第l层第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/a5f455f078f6434ba3be2f8043f88d30/j.jpg" alt="">j个神经元中产生的错误（即实际值与预测值之间的误差）定义为：</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161106120448077" alt=""></div>
<div>代价函数，依然用C来表示<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/f44aa74e592748fb84cb8f8769551f26/err.jpg" alt=""></div>


</div>


</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105204613371" alt=""></div>
<div>&nbsp;</div>
<p>以上4个方程中，第一个方程其实不难理解，就是求输出对估价函数C的偏导。</p>
<p>唯一比较困难的，就是第二个方程，它给出了根据下一层的错误量δl+1计算δl的等式。为证明该等式，我们先依据δkl+1=∂C/∂zkl+1重新表达下等式δlj =∂C/∂zlj。这里可以应用链式法则：</p>
<p>
<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105211313625" alt=""></p>
<p>在最后一行，我们互换了下表达式右侧的两项，并取代了 δkl+1的定义。为了对最后一行的第一项求值，注意：<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105212806767" alt=""><br>作微分，我们得到<br><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105212812627" alt=""><br>代回 (42) 我们得到<br><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161105212818472" alt=""><br>&nbsp;这就是以分量形式呈现的 (BP2)。后两式在完成了BP2证明之后就不太难了，留给读者来证明。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>四、<strong><span style="font-size: 18pt;">证明</span></strong></h2>
<div>反向传播算法（Backpropagation）是目前用来训练人工神经网络（Artificial Neural Network，ANN）的最常用且最有效的算法。其主要思想是：</div>
<div>（1）将训练集数据输入到ANN的输入层，经过隐藏层，最后达到输出层并输出结果，这是ANN的前向传播过程；</div>
<div>（2）由于ANN的输出结果与实际结果有误差，则计算估计值与实际值之间的误差，并将该误差从输出层向隐藏层反向传播，直至传播到输入层；</div>
<div>（3）在反向传播的过程中，根据误差调整各种参数的值；不断迭代上述过程，直至收敛。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;反向传播算法的思想比较容易理解，但具体的公式则要一步步推导，因此本文着重介绍公式的推导过程。</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<h1><span style="font-size: 14pt;"><a name="t0"></a><strong>1. 变量定义</strong></span></h1>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202509000" alt="" width="320" height="240"></div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;上图是一个三层人工神经网络，layer1至layer3分别是输入层、隐藏层和输出层。如图，先定义一些变量：</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202738142" alt="">表示第<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202834876" alt=""><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/576d2b840fd34ff09ac90900fc26219d/l-1.jpg" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/4da87ad036fb45899be0c349b73069fe/k.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202850705" alt="">个神经元连接到第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/e79ae480133f4521a482575ba2d4afa6/l.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202901392" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/6a968af39cb04649a2c0378900c93916/j.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202912017" alt="">个神经元的权重；</div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/84d1ef0c45e647b29b8835141d699c02/b.jpg" alt="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202925814" alt="">表示第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/2b44dc0922f44587a33f903b2516f36d/l.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202901392" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/7e99d481210f4b87a676a4d47109e3e6/j.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202912017" alt="">个神经元的偏置；</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/6d9107ddc032458f91d217e24157ea42/z0.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202949221" alt="">表示第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/66e2f2e205854239916eb3bd90808b09/l.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202901392" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/b43858e9c36d4999aaac8fd98b7a50bc/j.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202912017" alt="">个神经元的输入，即<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/134c42a37abf436b8fc48902a82e488f/z.jpg" alt="">：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203046815" alt="" width="200" height="36"></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/7e205c3d7f5641a3a1391041d0d0f2aa/a.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203055737" alt="">表示第<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202901392" alt=""><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/d9adf1527e9546749ad34f19a290737f/l.jpg" alt="">层的第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/e42219c8cbd946dea93435cecf8da0bd/j.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202912017" alt="">个神经元的输出，即<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/71a5dce1f9b5492aa23280c527c453a6/a1.jpg" alt="">：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203135690" alt="" width="220" height="60"></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;其中<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203156534" alt=""><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/8d3d68f680fa4f69b97e79c1c9ee3367/sigma.jpg" alt="">表示激活函数。</div>
<div>&nbsp;</div>
<h1><span style="font-size: 14pt;"><a name="t1"></a><strong>2. 代价函数</strong></span></h1>
<div>&nbsp; &nbsp; &nbsp; &nbsp; 代价函数被用来计算ANN输出值与实际值之间的误差。常用的代价函数是二次代价函数（Quadratic cost function）：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203231972" alt="" width="230" height="50"></div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/fc220d8d599941b6ad8b56b874b28256/quadratic.jpg" alt=""></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;其中，<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203246065" alt=""><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/0c94066dcda14d22a186c2523881d3ae/x.jpg" alt="">表示输入的样本，<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/21df9a62bb1749bcbbc663f105d2ea47/y.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203254284" alt="">表示实际的分类，<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/f24b4f80f7b54a8bac7f852e7f0f096f/al.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203304753" alt="">表示预测的输出，<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/1717c06043404cf987baaf125abeb22f/l-a.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203313706" alt="">表示神经网络的最大层数。</div>
<div>&nbsp;</div>
<h1><span style="font-size: 14pt;"><a name="t2"></a><strong>3. 公式及其推导</strong></span></h1>
<div>&nbsp; &nbsp; &nbsp; &nbsp; 本节将介绍反向传播算法用到的4个公式，并进行推导。<strong>如果不想了解公式推导过程，请直接看第4节的算法步骤。</strong></div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;首先，将第<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202901392" alt=""><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/bd81b33061d9447db36e969a1c638d79/l.jpg" alt="">层第<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/a5f455f078f6434ba3be2f8043f88d30/j.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401202912017" alt="">个神经元中产生的错误（即实际值与预测值之间的误差）定义为：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203433129" alt="" width="90" height="58"><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/f44aa74e592748fb84cb8f8769551f26/err.jpg" alt=""></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; 本文将以一个输入样本为例进行说明，此时代价函数表示为：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203458879" alt="" width="300" height="56"></div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/5fcbe66a557d47abaa708f1be940fc05/quadratic1.jpg" alt=""></div>
<div>&nbsp;</div>
<div><strong>公式1（计算最后一层神经网络产生的错误）：</strong></div>
<div><strong>&nbsp;</strong></div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203521035" alt="" width="180" height="36"></div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;其中，<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/e5a5a980132a442eac23dbf5df9d5e99/hadamard.jpg" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203529707" alt="">表示Hadamard乘积，用于矩阵或向量之间点对点的乘法运算。公式1的推导过程如下：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203552879" alt="" width="370" height="150"></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong>公式2（由后往前，计算每一层神经网络产生的错误）：</strong></div>
<div><strong>&nbsp;</strong></div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203604942" alt="" width="280" height="40"></div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;推导过程：</div>
<div><img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/eb31d8d1b3594ae6b21f5e8e4168593c/fomula2.png" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20161230105754424" alt="" width="420" height="250"></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong>公式3（计算权重的梯度）：</strong></div>
<div><strong>&nbsp;</strong></div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203624973" alt="" width="130" height="66"></div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;推导过程：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203634161" alt="" width="410" height="70"></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><strong>公式4（计算偏置的梯度）：</strong></div>
<div><strong>&nbsp;</strong></div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203641989" alt="" width="80" height="65"></div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;推导过程：</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203656833" alt="" width="350" height="70"></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<h1><span style="font-size: 14pt;"><a name="t3"></a><strong>4. 反向传播算法伪代码</strong></span></h1>
<div>&nbsp;</div>
<div>
<ul>
<li><strong>输入训练集</strong></li>

</ul>
<div><strong>&nbsp;</strong></div>
<ul>
<li><strong>对于训练集中的每个样本x，设置输入层（Input layer）对应的激活值<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/80ec44d5c59247fd905e8ab4290040d8/a1.png" alt=""><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203715973" alt="">：</strong>
<ul>
<li><strong>前向传播：</strong></li>

</ul>

</li>

</ul>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203739849" alt="">，&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203806927" alt=""></div>
<ul>
<ul>
<li><strong>计算输出层产生的错误：</strong></li>

</ul>

</ul>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203820380" alt=""></div>
<ul>
<ul>
<li><strong>反向传播错误：<img src="file:///C:/Users/czh/AppData/Local/YNote/data/hi_for_alice@163.com/71f6accbffd94039b7118dfbe511b6c0/b-err-back.png" alt=""></strong></li>

</ul>

</ul>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203833583" alt=""></div>
<div>&nbsp;</div>
<ul>
<li><strong>使用梯度下降（gradient descent），训练参数：</strong></li>

</ul>
<div><strong>&nbsp;</strong></div>
<div>&nbsp;<img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203848037" alt=""></div>
<div>&nbsp;</div>
<div><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/20160401203859349" alt=""></div>

</div>
</div>
<div id="MySignature"></div>
<div class="clear"></div>
<div id="blog_post_info_block"><div id="BlogPostCategory">
    分类: 
            <a href="https://www.cnblogs.com/wlzy/category/950126.html" target="_blank">机器学习</a></div>


    <div id="blog_post_info">
<div id="green_channel">
        <a href="javascript:void(0);" id="green_channel_digg" onclick="DiggIt(7751297,cb_blogId,1);green_channel_success(this,&#39;谢谢推荐！&#39;);">好文要顶</a>
        <a id="green_channel_follow" onclick="follow(&#39;ed452cf8-2c72-e111-aa3f-842b2b196315&#39;);" href="javascript:void(0);">关注我</a>
    <a id="green_channel_favorite" onclick="AddToWz(cb_entryId);return false;" href="javascript:void(0);">收藏该文</a>
    <a id="green_channel_weibo" href="javascript:void(0);" title="分享至新浪微博" onclick="ShareToTsina()"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/icon_weibo_24.png" alt=""></a>
    <a id="green_channel_wechat" href="javascript:void(0);" title="分享至微信" onclick="shareOnWechat()"><img src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/wechat.png" alt=""></a>
</div>
<div id="author_profile">
    <div id="author_profile_info" class="author_profile_info">
        <div id="author_profile_detail" class="author_profile_info">
            <a href="https://home.cnblogs.com/u/wlzy/">ZYVV</a><br>
            <a href="https://home.cnblogs.com/u/wlzy/followees/">关注 - 3</a><br>
            <a href="https://home.cnblogs.com/u/wlzy/followers/">粉丝 - 12</a>
        </div>
    </div>
    <div class="clear"></div>
    <div id="author_profile_honor"></div>
    <div id="author_profile_follow">
                <a href="javascript:void(0);" onclick="follow(&#39;ed452cf8-2c72-e111-aa3f-842b2b196315&#39;);return false;">+加关注</a>
    </div>
</div>
<div id="div_digg">
    <div class="diggit" onclick="votePost(7751297,&#39;Digg&#39;)">
        <span class="diggnum" id="digg_count">12</span>
    </div>
    <div class="buryit" onclick="votePost(7751297,&#39;Bury&#39;)">
        <span class="burynum" id="bury_count">0</span>
    </div>
    <div class="clear"></div>
    <div class="diggword" id="digg_tips">
    </div>
</div>

<script type="text/javascript">
    currentDiggType = 0;
</script></div>
    <div class="clear"></div>
    <div id="post_next_prev">

    <a href="https://www.cnblogs.com/wlzy/p/7138065.html" class="p_n_p_prefix">« </a> 上一篇：    <a href="https://www.cnblogs.com/wlzy/p/7138065.html" title="发布于 2017-07-08 21:26">海康威视复赛题 --- 算法说明书</a>
    <br>
    <a href="https://www.cnblogs.com/wlzy/p/8695154.html" class="p_n_p_prefix">» </a> 下一篇：    <a href="https://www.cnblogs.com/wlzy/p/8695154.html" title="发布于 2018-04-02 16:52">[转]Laplace算子和Laplacian矩阵</a>

</div>
</div>
            </div>
            <div class="postDesc">posted @ 
<span id="post-date">2017-10-29 21:19</span>&nbsp;<a href="https://www.cnblogs.com/wlzy/">ZYVV</a> 阅读(<span id="post_view_count">46671</span>) 评论(<span id="post_comment_count">5</span>) <a href="https://i.cnblogs.com/EditPosts.aspx?postid=7751297" rel="nofollow"> 编辑</a> <a href="javascript:void(0)" onclick="AddToWz(7751297); return false;">收藏</a>
</div>
        </div>
	    
	    
    </div><!--end: topics 文章、评论容器-->
</div>
<script src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/highlight.min.js"></script>
<script>markdown_highlight();</script>
<script>
    var allowComments = true, cb_blogId = 307187, cb_blogApp = 'wlzy', cb_blogUserGuid = 'ed452cf8-2c72-e111-aa3f-842b2b196315';
    var cb_entryId = 7751297, cb_entryCreatedDate = '2017-10-29 21:19', cb_postType = 1; 
    loadViewCount(cb_entryId);
</script><a name="!comments"></a>
<div id="blog-comments-placeholder">

<div id="comment_pager_top">
    
</div>

<br>
<div class="feedback_area_title">评论列表</div>
<div class="feedbackNoItems"><div class="feedbackNoItems"></div></div>	
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;

<span class="comment_actions">
    
    
    
    
</span>


				</div>
				
<a href="https://www.cnblogs.com/wlzy/p/7751297.html#4132286" class="layer">#1楼</a>
<a name="4132286" id="comment_anchor_4132286"></a>

 
<span class="comment_date">2018-12-05 17:23</span>

 

            <a id="a_comment_author_4132286" href="https://home.cnblogs.com/u/1175729/" target="_blank">失之千里</a>

			</div>
			<div class="feedbackCon">
				
<div id="comment_body_4132286" class="blog_comment_body">
    可读性太差。。
</div>
        <div class="comment_vote">
            <a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(&#39;4132286&#39;, &#39;Digg&#39;, this);">
                支持(1)
            </a>
            <a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(&#39;4132286&#39;, &#39;Bury&#39;, this);">
                反对(9)
            </a>
        </div>
        

			</div>
		</div>
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;

<span class="comment_actions">
    
    
    
    
</span>


				</div>
				
<a href="https://www.cnblogs.com/wlzy/p/7751297.html#4176646" class="layer">#2楼</a>
<a name="4176646" id="comment_anchor_4176646"></a>

 
<span class="comment_date">2019-02-09 13:32</span>

 

            <a id="a_comment_author_4176646" href="https://home.cnblogs.com/u/1399375/" target="_blank">Jennifer_young</a>

			</div>
			<div class="feedbackCon">
				
<div id="comment_body_4176646" class="blog_comment_body">
    既有可供理解的逻辑细节，又有理论公式，外带自己的理解，问题转化，强！！！谢谢
</div>
        <div class="comment_vote">
            <a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(&#39;4176646&#39;, &#39;Digg&#39;, this);">
                支持(3)
            </a>
            <a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(&#39;4176646&#39;, &#39;Bury&#39;, this);">
                反对(0)
            </a>
        </div>
        

			</div>
		</div>
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;

<span class="comment_actions">
    
    
    
    
</span>


				</div>
				
<a href="https://www.cnblogs.com/wlzy/p/7751297.html#4215365" class="layer">#3楼</a>
<a name="4215365" id="comment_anchor_4215365"></a>

 
<span class="comment_date">2019-03-27 22:53</span>

 

            <a id="a_comment_author_4215365" href="https://home.cnblogs.com/u/1304424/" target="_blank">Gavin_Gao</a>

			</div>
			<div class="feedbackCon">
				
<div id="comment_body_4215365" class="blog_comment_body">
    思路清晰，例证结合，很好的讲解了反向传播
</div>
        <div class="comment_vote">
            <a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(&#39;4215365&#39;, &#39;Digg&#39;, this);">
                支持(2)
            </a>
            <a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(&#39;4215365&#39;, &#39;Bury&#39;, this);">
                反对(0)
            </a>
        </div>
        

			</div>
		</div>
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;

<span class="comment_actions">
    
    
    
    
</span>


				</div>
				
<a href="https://www.cnblogs.com/wlzy/p/7751297.html#4246054" class="layer">#4楼</a>
<a name="4246054" id="comment_anchor_4246054"></a>

 
<span class="comment_date">2019-05-02 14:34</span>

 

            <a id="a_comment_author_4246054" href="https://www.cnblogs.com/realmagicjim/" target="_blank">RealMagicJim</a>

			</div>
			<div class="feedbackCon">
				
<div id="comment_body_4246054" class="blog_comment_body">
    有公式的推导又有直观的讲解，学习了！谢谢
</div>
        <div class="comment_vote">
            <a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(&#39;4246054&#39;, &#39;Digg&#39;, this);">
                支持(2)
            </a>
            <a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(&#39;4246054&#39;, &#39;Bury&#39;, this);">
                反对(0)
            </a>
        </div>
        <span id="comment_4246054_avatar" style="display:none">
            https://pic.cnblogs.com/face/1658545/20190411103937.png
        </span>

			</div>
		</div>
		<div class="feedbackItem">
			<div class="feedbackListSubtitle">
				<div class="feedbackManage">
					&nbsp;&nbsp;

<span class="comment_actions">
    
    
    
    
</span>


				</div>
				
<a href="https://www.cnblogs.com/wlzy/p/7751297.html#4328286" class="layer">#5楼</a>
<a name="4328286" id="comment_anchor_4328286"></a>

        <span id="comment-maxId" style="display:none">4328286</span>
        <span id="comment-maxDate" style="display:none">8/16/2019 10:54:24 AM</span>
 
<span class="comment_date">2019-08-16 10:54</span>

 

            <a id="a_comment_author_4328286" href="https://home.cnblogs.com/u/1770540/" target="_blank">小白II</a>

			</div>
			<div class="feedbackCon">
				
<div id="comment_body_4328286" class="blog_comment_body">
    不得不说搞学术和搞技术的就是不一样，写了这么多各种字符真是让人眼花缭乱，即使看懂了敲代码时还是一头蒙。推荐看看这个人的blog.csdn.net/sinat_38321889/article/details/79182832
</div>
        <div class="comment_vote">
            <a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(&#39;4328286&#39;, &#39;Digg&#39;, this);">
                支持(0)
            </a>
            <a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(&#39;4328286&#39;, &#39;Bury&#39;, this);">
                反对(0)
            </a>
        </div>
        

			</div>
		</div>

<div id="comment_pager_bottom">
    
</div>


</div>
<script>
    var commentManager = new blogCommentManager();
    commentManager.renderComments(0);
</script>

<div id="comment_form" class="commentform">
    <a name="commentform"></a>
    <div id="divCommentShow"></div>
    <div id="comment_nav"><span id="span_refresh_tips"></span><a href="javascript:void(0);" onclick="return RefreshCommentList();" id="lnk_RefreshComments" runat="server" clientidmode="Static">刷新评论</a><a href="https://www.cnblogs.com/wlzy/p/7751297.html#" onclick="return RefreshPage();">刷新页面</a><a href="https://www.cnblogs.com/wlzy/p/7751297.html#top">返回顶部</a></div>
    <div id="comment_form_container"><div class="login_tips">
    注册用户登录后才能发表评论，请 
    <a rel="nofollow" href="javascript:void(0);" class="underline" onclick="return login(&#39;commentform&#39;);">登录</a>
     或 
    <a rel="nofollow" href="javascript:void(0);" class="underline" onclick="return register();">注册</a>，
    <a href="https://www.cnblogs.com/">访问</a> 网站首页。
</div></div>
    <div class="ad_text_commentbox" id="ad_text_under_commentbox"></div>
    <div id="ad_t2"><a href="http://www.ucancode.com/index.htm" target="_blank" onclick="ga(&#39;send&#39;, &#39;event&#39;, &#39;Link&#39;, &#39;click&#39;, &#39;T2-工控&#39;)">【推荐】超50万C++/C#源码: 大型实时仿真组态图形源码</a><br><a href="http://clickc.admaster.com.cn/c/a131575,b3595121,c1705,i0,m101,8a1,8b3,h" target="_blank" onclick="ga(&#39;send&#39;, &#39;event&#39;, &#39;Link&#39;, &#39;click&#39;, &#39;T2-华为云学生&#39;)">【推荐】华为云·云创校园套餐9元起，小天鹅音箱等你来拿</a><br><a href="http://clickc.admaster.com.cn/c/a131574,b3595115,c1705,i0,m101,8a1,8b3,h" target="_blank" onclick="ga(&#39;send&#39;, &#39;event&#39;, &#39;Link&#39;, &#39;click&#39;, &#39;T2-华为云微认证&#39;)">【推荐】零基础轻松玩转云上产品，获壕礼加返百元大礼</a><br><a href="https://www.aliyun90.com/" target="_blank" onclick="ga(&#39;send&#39;, &#39;event&#39;, &#39;Link&#39;, &#39;click&#39;, &#39;T2-aliyun90&#39;)">【推荐】ALIYUN90% | 免认证  9秒注册阿里云  即开即用</a><br></div>
    <div id="opt_under_post"></div>
    <script async="async" src="./反向传播算法（过程及公式推导） - ZYVV - 博客园_files/gpt.js"></script>
    <script>
        var googletag = googletag || {};
        googletag.cmd = googletag.cmd || [];
    </script>
    <script>
        googletag.cmd.push(function () {
            googletag.defineSlot("/1090369/C1", [300, 250], "div-gpt-ad-1546353474406-0").addService(googletag.pubads());
            googletag.defineSlot("/1090369/C2", [468, 60], "div-gpt-ad-1539008685004-0").addService(googletag.pubads());
            googletag.pubads().enableSingleRequest();
            googletag.enableServices();
        });
    </script>
    <div id="cnblogs_c1" class="c_ad_block">
        <div id="div-gpt-ad-1546353474406-0" style="height: 250px; width: 300px;"><div id="google_ads_iframe_/1090369/C1_0__container__" style="border: 0pt none; width: 300px; height: 250px;"></div></div>
    </div>
    <div id="under_post_news"><div class="recomm-block"><b>相关博文：</b><br>·  <a title="前项传播和反向传播" href="https://www.cnblogs.com/kang06/p/9372613.html" target="_blank" onclick="clickRecomItmem(9372613)">前项传播和反向传播</a><br>·  <a title="深度学习（三） 反向传播直观理解" href="https://www.cnblogs.com/callyblog/p/8092957.html" target="_blank" onclick="clickRecomItmem(8092957)">深度学习（三） 反向传播直观理解</a><br>·  <a title="反向传播算法" href="https://www.cnblogs.com/Archer-Fang/p/10639112.html" target="_blank" onclick="clickRecomItmem(10639112)">反向传播算法</a><br>·  <a title="Backpropagation反向传播算法（BP算法）" href="https://www.cnblogs.com/pannyvan/p/6246789.html" target="_blank" onclick="clickRecomItmem(6246789)">Backpropagation反向传播算法（BP算法）</a><br>·  <a title="神经网络，前向传播FP和反向传播BP" href="https://www.cnblogs.com/missidiot/p/9378525.html" target="_blank" onclick="clickRecomItmem(9378525)">神经网络，前向传播FP和反向传播BP</a><br></div></div>
    <div id="cnblogs_c2" class="c_ad_block">
        <div id="div-gpt-ad-1539008685004-0" style="height: 60px; width: 468px;">
            <script>
                if (new Date() >= new Date(2018, 9, 13)) {
                    googletag.cmd.push(function () { googletag.display("div-gpt-ad-1539008685004-0"); });
                }
            </script>
        <div id="google_ads_iframe_/1090369/C2_0__container__" style="border: 0pt none; width: 468px; height: 60px;"></div></div>
    </div>
    <div id="under_post_kb">
<div class="itnews c_ad_block">
    <b>最新 IT 新闻</b>:
    <br>
 ·              <a href="https://news.cnblogs.com/n/629828/" target="_blank">华为新Mate X配置升级！搭载麒麟990、升级4000万像素RYYB主摄</a>
            <br>
 ·              <a href="https://news.cnblogs.com/n/629827/" target="_blank">特斯拉跑车完成第一圈绕日飞行，向火星靠近</a>
            <br>
 ·              <a href="https://news.cnblogs.com/n/629826/" target="_blank">今年7月极地海冰缩至历史新低</a>
            <br>
 ·              <a href="https://news.cnblogs.com/n/629825/" target="_blank">机器人版王者荣耀真人秀：这群大学生背后，是大疆教育野心</a>
            <br>
 ·              <a href="https://news.cnblogs.com/n/629824/" target="_blank">三星对韩国有多重要？占全国上半年出口额的20%</a>
            <br>
    » <a href="https://news.cnblogs.com/" title="IT 新闻" target="_blank">更多新闻...</a>
</div></div>
    <div id="HistoryToday" class="c_ad_block"></div>
    <script type="text/javascript">
        fixPostBody();
        setTimeout(function () { incrementViewCount(cb_entryId); }, 50);
        deliverAdT2();
        deliverAdC1();
        deliverAdC2();
        loadNewsAndKb();
        loadBlogSignature();
LoadPostCategoriesTags(cb_blogId, cb_entryId);        LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
        GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType);
        loadOptUnderPost();
        GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);
    </script>
</div>
	</div><!--end: forFlow -->
	</div><!--end: mainContent 主体内容容器-->

	<div id="sideBar">
		<div id="sideBarMain">
			
<div id="sidebar_news" class="newsItem"><!--done-->
<h3 class="catListTitle">公告</h3>

<div id="blog-news">
    
    <div id="profile_block">
        昵称：
        <a href="https://home.cnblogs.com/u/wlzy/">
            ZYVV
        </a>
        <br>
        园龄：
        <a href="https://home.cnblogs.com/u/wlzy/" title="入园时间：2012-03-20">
            7年4个月
        </a>
        <br>
        粉丝：
        <a href="https://home.cnblogs.com/u/wlzy/followers/">
            12
        </a>
        <br>
        关注：
        <a href="https://home.cnblogs.com/u/wlzy/followees/">
            3
        </a>
        <div id="p_b_follow">
<a href="javascript:void(0)" onclick="follow(&#39;ed452cf8-2c72-e111-aa3f-842b2b196315&#39;)">+加关注</a></div>
        <script>getFollowStatus('ed452cf8-2c72-e111-aa3f-842b2b196315');</script>
    </div>
</div>

</div>

			<div id="blog-calendar" style="">

<table id="blogCalendar" class="Cal" cellspacing="0" cellpadding="0" title="Calendar" border="0">
    <tbody>
        <tr>
            <td colspan="7">
                <table class="CalTitle" cellspacing="0" border="0">
                    <tbody>
                        <tr>
                            <td class="CalNextPrev">
                                <a href="javascript:void(0);" onclick="loadBlogCalendar(&#39;2019/07/19&#39;); return false;">&lt;</a>
                            </td>
                            <td align="center">2019年8月</td>
                            <td align="right" class="CalNextPrev">
                                <a href="javascript:void(0);" onclick="loadBlogCalendar(&#39;2019/09/19&#39;); return false;">&gt;</a>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
                    <th class="CalDayHeader" align="center" abbr="日" scope="col">日</th>
                    <th class="CalDayHeader" align="center" abbr="一" scope="col">一</th>
                    <th class="CalDayHeader" align="center" abbr="二" scope="col">二</th>
                    <th class="CalDayHeader" align="center" abbr="三" scope="col">三</th>
                    <th class="CalDayHeader" align="center" abbr="四" scope="col">四</th>
                    <th class="CalDayHeader" align="center" abbr="五" scope="col">五</th>
                    <th class="CalDayHeader" align="center" abbr="六" scope="col">六</th>
        </tr>
            <tr>
                            <td class="CalOtherMonthDay" align="center">28</td>
                            <td class="CalOtherMonthDay" align="center">29</td>
                            <td class="CalOtherMonthDay" align="center">30</td>
                            <td class="CalOtherMonthDay" align="center">31</td>
                        <td class="" align="center">
                            1
                        </td>
                        <td class="" align="center">
                            2
                        </td>
                    <td class="CalWeekendDay" align="center">
                        3
                    </td>
            </tr>
                <tr>
                        <td class="CalWeekendDay" align="center">
                            4
                        </td>
                            <td class="" align="center">
                                5
                            </td>
                            <td class="" align="center">
                                6
                            </td>
                            <td class="" align="center">
                                7
                            </td>
                            <td class="" align="center">
                                8
                            </td>
                            <td class="" align="center">
                                9
                            </td>
                        <td class="CalWeekendDay" align="center">
                            10
                        </td>
                </tr>
                <tr>
                        <td class="CalWeekendDay" align="center">
                            11
                        </td>
                            <td class="" align="center">
                                12
                            </td>
                            <td class="" align="center">
                                13
                            </td>
                            <td class="" align="center">
                                14
                            </td>
                            <td class="" align="center">
                                15
                            </td>
                            <td class="" align="center">
                                16
                            </td>
                        <td class="CalWeekendDay" align="center">
                            17
                        </td>
                </tr>
                <tr>
                        <td class="CalWeekendDay" align="center">
                            18
                        </td>
                            <td class="CalTodayDay" align="center">
                                19
                            </td>
                            <td class="" align="center">
                                20
                            </td>
                            <td class="" align="center">
                                21
                            </td>
                            <td class="" align="center">
                                22
                            </td>
                            <td class="" align="center">
                                23
                            </td>
                        <td class="CalWeekendDay" align="center">
                            24
                        </td>
                </tr>
                <tr>
                        <td class="CalWeekendDay" align="center">
                            25
                        </td>
                            <td class="" align="center">
                                26
                            </td>
                            <td class="" align="center">
                                27
                            </td>
                            <td class="" align="center">
                                28
                            </td>
                            <td class="" align="center">
                                29
                            </td>
                            <td class="" align="center">
                                30
                            </td>
                        <td class="CalWeekendDay" align="center">
                            31
                        </td>
                </tr>
                <tr>
                        <td class="CalOtherMonthDay" align="center">
                            1
                        </td>
                            <td class="CalOtherMonthDay" align="center">
                                2
                            </td>
                            <td class="CalOtherMonthDay" align="center">
                                3
                            </td>
                            <td class="CalOtherMonthDay" align="center">
                                4
                            </td>
                            <td class="CalOtherMonthDay" align="center">
                                5
                            </td>
                            <td class="CalOtherMonthDay" align="center">
                                6
                            </td>
                        <td class="CalOtherMonthDay" align="center">
                            7
                        </td>
                </tr>
    </tbody>
</table></div><script>loadBlogDefaultCalendar();</script>
			
			<div id="leftcontentcontainer">
				<div id="blog-sidecolumn">

<!-- 搜索 -->
<div id="sidebar_search" class="sidebar-block">
    <div id="sidebar_search" class="mySearch">
        <h3 class="catListTitle">搜索</h3>
        <div id="sidebar_search_box">
            <div id="widget_my_zzk" class="div_my_zzk">
                <input type="text" id="q" onkeydown="return zzk_go_enter(event);" class="input_my_zzk">&nbsp;<input onclick="zzk_go()" type="button" value="找找看" id="btnZzk" class="btn_my_zzk">
            </div>
            <div id="widget_my_google" class="div_my_zzk">
                <input type="text" name="google_q" id="google_q" onkeydown="return google_go_enter(event);" class="input_my_zzk">&nbsp;<input onclick="google_go()" type="button" value="谷歌搜索" class="btn_my_zzk">
            </div>
        </div>
    </div>
</div>

<!-- 常用链接 -->
<div id="sidebar_shortcut" class="sidebar-block">
    <div class="catListLink">
<h3 class="catListTitle">
常用链接
</h3>
<ul>
		<li>

<a href="https://www.cnblogs.com/wlzy/p/" title="我的博客的随笔列表">我的随笔</a>
</li>
		<li>

<a href="https://www.cnblogs.com/wlzy/MyComments.html" title="我的发表过的评论列表">我的评论</a>
</li>
		<li>

<a href="https://www.cnblogs.com/wlzy/OtherPosts.html" title="我评论过的随笔列表">我的参与</a>
</li>
		<li>

<a href="https://www.cnblogs.com/wlzy/RecentComments.html" title="我的博客的评论列表">最新评论</a>
</li>
		<li>

<a href="https://www.cnblogs.com/wlzy/tag/" title="我的博客的标签列表">我的标签</a>
</li>

</ul>
<div id="itemListLin_con" style="display:none;">
<ul>

</ul>
</div>
</div>


</div>

<!-- 最新随笔 -->



<!-- 我的标签 -->
<div id="sidebar_toptags" class="sidebar-block">
    
</div>

<!-- 积分与排名 -->


<!-- 随笔分类、随笔档案、文章分类、新闻分类、相册、链接 -->
<div id="sidebar_categories">
    
        <div id="sidebar_postcategory" class="catListPostCategory sidebar-block">
            <h3 class="catListTitle">
                

随笔分类



            </h3>


            <ul>

                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1248410.html" rel="">
    ARM编程 NEON(7)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/903342.html" rel="">
    ARM与嵌入式Linux(18)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/885803.html" rel="">
    C++学习(62)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1215320.html" rel="">
    GPU (1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/965947.html" rel="">
    Jetson(1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/925013.html" rel="">
    Kernel 之 内核同步机制
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/925014.html" rel="">
    Kernel 之 中断子系统
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/925028.html" rel="">
    Kernel杂项
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/889122.html" rel="">
    Linux学习(15)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/894814.html" rel="">
    MCU-SKEA(3)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/928947.html" rel="">
    OpenCV(7)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/891606.html" rel="">
    perl语言(2)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/972280.html" rel="">
    ROS(14)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1074623.html" rel="">
    SQL(2)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/887079.html" rel="">
    TinyOS(5)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/889143.html" rel="">
    Ubuntu学习(8)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/950126.html" rel="">
    机器学习(41)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1124457.html" rel="">
    基础数学(15)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1075851.html" rel="">
    计算机基础(7)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/1017131.html" rel="">
    计算机算法(24)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/959769.html" rel="">
    数据结构(25)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/936102.html" rel="">
    数字图像处理(34)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/895117.html" rel="">
    网络仿真(4)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/category/893874.html" rel="">
    网络协议(6)
</a>
 

                        </li>

            </ul>


        </div>
        <div id="sidebar_postarchive" class="catListPostArchive sidebar-block">
            <h3 class="catListTitle">
                

随笔档案



            </h3>


            <ul>

                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2019/06.html" rel="">
    2019年6月(1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2019/05.html" rel="">
    2019年5月(8)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2019/04.html" rel="">
    2019年4月(5)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2019/03.html" rel="">
    2019年3月(9)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/12.html" rel="">
    2018年12月(2)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/10.html" rel="">
    2018年10月(1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/09.html" rel="">
    2018年9月(12)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/08.html" rel="">
    2018年8月(5)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/07.html" rel="">
    2018年7月(1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/05.html" rel="">
    2018年5月(7)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/04.html" rel="">
    2018年4月(15)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2018/01.html" rel="">
    2018年1月(20)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/12.html" rel="">
    2017年12月(14)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/11.html" rel="">
    2017年11月(9)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/10.html" rel="">
    2017年10月(5)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/09.html" rel="">
    2017年9月(24)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/08.html" rel="">
    2017年8月(37)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/07.html" rel="">
    2017年7月(9)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/06.html" rel="">
    2017年6月(16)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/05.html" rel="">
    2017年5月(13)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/04.html" rel="">
    2017年4月(2)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/03.html" rel="">
    2017年3月(17)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/02.html" rel="">
    2017年2月(6)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2017/01.html" rel="">
    2017年1月(5)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2016/12.html" rel="">
    2016年12月(1)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2016/11.html" rel="">
    2016年11月(16)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2016/10.html" rel="">
    2016年10月(23)
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.cnblogs.com/wlzy/archive/2016/09.html" rel="">
    2016年9月(21)
</a>
 

                        </li>

            </ul>


        </div>
        <div id="sidebar_links904340" class="catList sidebar-block">
            <h3 class="catListTitle">
                

ARM与嵌入式Linux



            </h3>


            <ul>

                        <li>
                            
<a href="http://www.qter.org/portal.php?mod=view&amp;aid=10" rel="nofollow">
    Qt资源
</a>
 

                        </li>
                        <li>
                            
<a href="https://www.kancloud.cn/digest/jetsontk1-fred/149665" rel="nofollow">
    NVIDIA Jetson TK1学习与开发
</a>
 

                        </li>
                        <li>
                            
<a href="http://blog.csdn.net/funkunho/article/details/52458148" rel="nofollow">
    U-BOOT-2016.07移植 
</a>
 

                        </li>
                        <li>
                            
<a href="http://www.wklken.me/posts/2015/06/07/vim-plugin-easymotion.html" rel="nofollow">
    VIM插件: EASYMOTION[快速跳转]
</a>
 

                        </li>

            </ul>


        </div>
        <div id="sidebar_links1143080" class="catList sidebar-block">
            <h3 class="catListTitle">
                

其他



            </h3>


            <ul>

                        <li>
                            
<a href="https://www.redblobgames.com/pathfinding/a-star/introduction.html" rel="nofollow">
    Introduction to A*
</a>
 

                        </li>
                        <li>
                            
<a href="http://www.cs.tut.fi/~foi/GCF-BM3D/" rel="nofollow">
    BM3D算法
</a>
 

                        </li>
                        <li>
                            
<a href="http://lxu.me/" rel="nofollow">
    徐立Homepage
</a>
 

                        </li>
                        <li>
                            
<a href="https://sites.google.com/site/jspanhomepage/" rel="nofollow">
    潘金山Homepage
</a>
 

                        </li>
                        <li>
                            
<a href="http://www.cnblogs.com/wanggary/category/294620.html" rel="">
     C++设计模式
</a>
 

                        </li>
                        <li>
                            
<a href="http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html" rel="">
    Python快速教程
</a>
 

                        </li>
                        <li>
                            
<a href="http://blog.csdn.net/v_july_v/article/details/7624837" rel="nofollow">
    支持向量机通俗导论（理解SVM的三层境界）
</a>
 

                        </li>
                        <li>
                            
<a href="http://blog.csdn.net/sinat_17496535/article/details/52103852" rel="nofollow">
    拉格朗日乘子法、KKT条件、拉格朗日对偶性
</a>
 

                        </li>
                        <li>
                            
<a href="https://blog.csdn.net/antkillerfarm/article/details/78829889" rel="nofollow">
    Winograd
</a>
 

                        </li>

            </ul>


        </div>

</div>

<!-- 最新评论 -->
<div id="sidebar_recentcomments" class="sidebar-block">
    <div class="catListComment">
<h3 class="catListTitle">最新评论</h3>

	<div class="RecentCommentBlock">
        <ul>
                    <li class="recent_comment_title"><a href="https://www.cnblogs.com/wlzy/p/7751297.html#4328286">1. Re:反向传播算法（过程及公式推导）</a></li>
                    <li class="recent_comment_body">不得不说搞学术和搞技术的就是不一样，写了这么多各种字符真是让人眼花缭乱，即使看懂了敲代码时还是一头蒙。推荐看看这个人的blog.csdn.net/sinat_38321889/article/deta...</li>
                    <li class="recent_comment_author">--小白II</li>
                    <li class="recent_comment_title"><a href="https://www.cnblogs.com/wlzy/p/7751297.html#4246054">2. Re:反向传播算法（过程及公式推导）</a></li>
                    <li class="recent_comment_body">有公式的推导又有直观的讲解，学习了！谢谢</li>
                    <li class="recent_comment_author">--RealMagicJim</li>
                    <li class="recent_comment_title"><a href="https://www.cnblogs.com/wlzy/p/7096114.html#4229688">3. Re:[转] A*寻路算法C++简单实现</a></li>
                    <li class="recent_comment_body">if(target-&gt;x&lt;0||target-&gt;x&gt;maze.size()-1 ||target-&gt;y&lt;0&amp;&amp;target-&gt;y&gt;maze[0].size()-1 ||maze[target-&gt;x][...</li>
                    <li class="recent_comment_author">--诸葛空运</li>
                    <li class="recent_comment_title"><a href="https://www.cnblogs.com/wlzy/p/7751297.html#4215365">4. Re:反向传播算法（过程及公式推导）</a></li>
                    <li class="recent_comment_body">思路清晰，例证结合，很好的讲解了反向传播</li>
                    <li class="recent_comment_author">--Gavin_Gao</li>
                    <li class="recent_comment_title"><a href="https://www.cnblogs.com/wlzy/p/7751297.html#4176646">5. Re:反向传播算法（过程及公式推导）</a></li>
                    <li class="recent_comment_body">既有可供理解的逻辑细节，又有理论公式，外带自己的理解，问题转化，强！！！谢谢</li>
                    <li class="recent_comment_author">--Jennifer_young</li>
        </ul>
    </div>
</div>


</div>



<!-- 阅读排行榜 -->
<div id="sidebar_topviewedposts" class="sidebar-block">
    <div class="catListView">
<h3 class="catListTitle">阅读排行榜</h3>
	<div id="TopViewPostsBlock">
        <ul style="word-break:break-all">
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/7751297.html">
                            1. 反向传播算法（过程及公式推导）(46668)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/7283579.html">
                            2. [转]几种图像边缘检测算子的比较(16874)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/8214317.html">
                            3. [转]ROS 不能再详细的安装教程(9509)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/8695226.html">
                            4. Bresenham直线算法与画圆算法(8649)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/8205470.html">
                            5. [转]QT +openCV 实现摄像头采集以及拍照功能(7729)
                        </a>
                    </li>
        </ul>
    </div>
</div>


</div>

<!-- 评论排行榜 -->
<div id="sidebar_topcommentedposts" class="sidebar-block">
    <div class="catListFeedback">
<h3 class="catListTitle">评论排行榜</h3>
	<div id="TopFeedbackPostsBlock">
        <ul style="word-break:break-all">
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/7751297.html">
                            1. 反向传播算法（过程及公式推导）(5)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/7096114.html">
                            2. [转] A*寻路算法C++简单实现(1)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/6613125.html">
                            3. 未来人类T5 安装win10，ubuntu双系统(1)
                        </a>
                    </li>
                    <li>
                        <a href="https://www.cnblogs.com/wlzy/p/5897742.html">
                            4. cin.get()和cin.getline()之间的区别(1)
                        </a>
                    </li>
        </ul>
    </div>
</div>


</div>

<!-- 推荐排行榜 -->
<div id="sidebar_topdiggedposts" class="sidebar-block">
    
<div id="topdigg_posts_wrap">
    <div class="catListView">
        <h3 class="catListTitle">推荐排行榜</h3>
        <div id="TopDiggPostsBlock">
            <ul style="word-break: break-all">
                        <li>
                            <a href="https://www.cnblogs.com/wlzy/p/7751297.html">
                                1. 反向传播算法（过程及公式推导）(12)
                            </a>
                        </li>
                        <li>
                            <a href="https://www.cnblogs.com/wlzy/p/7098941.html">
                                2. [转]数据结构：图的存储结构之十字链表(1)
                            </a>
                        </li>
                        <li>
                            <a href="https://www.cnblogs.com/wlzy/p/7096114.html">
                                3. [转] A*寻路算法C++简单实现(1)
                            </a>
                        </li>
                        <li>
                            <a href="https://www.cnblogs.com/wlzy/p/7353749.html">
                                4. [转]qt中文乱码问题(1)
                            </a>
                        </li>
                        <li>
                            <a href="https://www.cnblogs.com/wlzy/p/9688109.html">
                                5. [转]softmax函数详解(1)
                            </a>
                        </li>
            </ul>
        </div>
    </div>
</div>
</div></div>
                    <script>loadBlogSideColumn();</script>
			</div>
			
		</div><!--end: sideBarMain -->
	</div><!--end: sideBar 侧边栏容器 -->
	<div class="clear"></div>
	</div><!--end: main -->
	<div class="clear"></div>
	<div id="footer">
		<!--done-->
Copyright © 2019 ZYVV
    <div id="poweredby">Powered by .NET Core 3.0 Preview 8 on Linux</div>



	</div><!--end: footer -->
</div><!--end: home 自定义的最大容器 -->


    


</body></html>